home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The World of Computer Software
/
The World of Computer Software.iso
/
vsc92nov.zip
/
Fixnum.h
< prev
next >
Wrap
C/C++ Source or Header
|
1992-11-02
|
1KB
|
37 lines
/*
* Fixnum.h -- Declarations for Scheme's fixnums
*
* Note: instances of this type are never exposed to the Scheme programmer,
* but they are used to implement Scheme numbers
*
* (C) m.b (Matthias Blume), Mon May 4 16:06:15 MET DST 1992, HUB/Ger
* Humboldt-University of Berlin, Germany
*
* ident "@(#) Fixnum.h (C) M.Blume, Humboldt-Uni Berlin, 1.3"
*/
# ifndef FIXNUM_H_
# define FIXNUM_H_
# include "storage.h"
typedef
struct ScmFixnum {
object_head _;
unsigned int sign : 1;
unsigned int length : 15;
unsigned short dig [1];
} ScmFixnum;
extern od_vector ScmFixnum_od_vector;
# define ScmFixnum_description (ScmFixnum_od_vector[0])
extern void ScmFixnumToAscii (ScmFixnum *a, char *s);
extern ScmFixnum *ScmScanFixnum (char *s, int base);
extern ScmFixnum *ScmLong2Fixnum (long x);
extern ScmFixnum *ScmDouble2Fixnum (double x, int *inexact);
extern double ScmFixnum2Double (ScmFixnum *x, int *inexact);
extern ScmFixnum *ScmDivideFixnums (ScmFixnum *x, ScmFixnum *y, ScmFixnum **r);
# endif